<<LiteRed`;
<<Mint`;
SetDirectory[NotebookDirectory[]];
SetDim[d];
Declare[{l,r,p,q},Vector,s,Number];
sp[q,q]=0;sp[p,p]=0;
sp[q,p]=s/2;

EMs->{(Subscript[rules, 1]),(Subscript[rules, 2]),…} is a an option for FindSymmetries and FindExtSymmetries. Each  (Subscript[rules, i]) is a set of substitutions which preserves the external invariants. This option helps LiteRed to find symmetries between sectors which are connect to each other by substitutions of external momenta.

FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, 2])] finds the mappings of the sectors of (Subscript[basis, 1]) to unique sectors of (Subscript[basis, 2]). It generates the following objects:
    ExtUniqueSectors[(Subscript[basis, 1])] — the list of sectors which can not be mapped,
    ExtMappedSectors[(Subscript[basis, 1])] — the list of sectors, equivalent to some unique sectors of (Subscript[basis, 2]),
    jExtRules[(Subscript[basis, 1]),ns:(0|1)..] for each sector js[(Subscript[basis, 1]),ns:(0|1)..] in ExtMappedSectors[(Subscript[basis, 1])] — the list of rules mapping integrals to some unique sector of (Subscript[basis, 2]).
Note that FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, 2])] requires running AnalyzeSectors[(Subscript[basis, 1])] and FindSymmetries[(Subscript[basis, 2])] beforehand. If afterwards FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, 3])] is called, it tries to map only those sectors which are in ExtUniqueSectors[(Subscript[basis, 1])] and modifies correspondingly the lists ExtUniqueSectors[(Subscript[basis, 1])] and  ExtMappedSectors[(Subscript[basis, 1])].

FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, 2]),…,(Subscript[basis, k])] is a shortcut for FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, k])];FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, k-1])];…FindExtSymmetries[(Subscript[basis, 1]),(Subscript[basis, 2])] — pay attention to the order!

NewBasis[v1,{r-l,l,r,l+q,r+p,l+q-r,r+p-l},{l,r},GenerateIBP->True];
AnalyzeSectors[v1,{0,__}];
FindSymmetries[v1,EMs->{{(*p->p,q->q*)},{p->q,q->p}}];(*See EMs option descrition*)

NewBasis[v2,{r-l,l,r,l+q,l-p,l+q-r,r+p-l},{l,r},GenerateIBP->True];
AnalyzeSectors[v2,{0,__}];
FindExtSymmetries[v2,v1,EMs->{{},{p->q,q->p}}];(*See FindExtSymmetries description*)(*See EMs option descrition*)
(*This is new procedure. Omitting the option EMs->... is equivalent to EMs->{{}}*)
FindSymmetries[v2,EMs->{{(*p->p,q->q*)},{p->q,q->p}}];(*See EMs option descrition*)

NewBasis[v3,{r-q,l,r-l,r,l+q,r+p-l,l-p},{l,r},GenerateIBP->True];
AnalyzeSectors[v3,{0,__}];
FindExtSymmetries[v3,v2,v1,EMs->{{(*p->p,q->q*)},{p->q,q->p}}];(*See FindExtSymmetries description*)(*See EMs option descrition*)
(*This is new procedure. Omitting the option EMs->... is equivalent to EMs->{{}}*)
FindSymmetries[v3,EMs->{{(*p->p,q->q*)},{p->q,q->p}}];(*See EMs option descrition*)

Timing[{SolvejSector[UniqueSectors[v1]],SolvejSector[UniqueSectors[v2]],SolvejSector[UniqueSectors[v3]]}]

SolvejSector’s option NMIs->n, where n is some integer, prescribes SolvejSector to stop when the number of integrals not yet reducible is n
NMIs->Automatic uses Mint, if it is loaded, to determine n.

SetOptions[SolvejSector,NMIs->Automatic];
Timing[{SolvejSector[UniqueSectors[v1]],SolvejSector[UniqueSectors[v2]],SolvejSector[UniqueSectors[v3]]}]

IBPReduce[j[v2,-2,1,1,1,1,1,1]+j[v1,-2,1,1,1,1,1,1]+j[v3,-2,1,1,1,1,1,1]]